Current trends in software design and software development are object-oriented interface design and JAVA code development. As is well-known in the data processing art, JAVA is a representative type of software code which is utilized in developing graphical user interfaces, especially for Internet applications.
The design of user interfaces and the development of code to support those interfaces should be complementary, but, in fact, these two factors are somewhat incongruent. For example, JAVA does support "drag and drop" operations of objects within a container, but does not support dragging contents out of a JAVA application into another JAVA application. JAVA also does not support the movement of objects to or from a desktop which is not in a JAVA window controlled by the same application. This type of operation is one of the fundamental requirements of an effective object-oriented user interface design and is not supported by many development systems, as exemplified by JAVA.
A "drag and drop" operation is a common user interface operation which allows a user to directly manipulate an object by moving it and placing it somewhere else using a pointing device displayed on a terminal of a computer, or data processing system. Furthermore, a compound object is an object that contains other objects and results in a view in which relationships of the parts contribute to an overall meaning associated with the object. An object whose specific purpose is to hold other objects is referred to as a container object and the other objects held within the container object are referred to as contained objects. Given that JAVA only supports "drag and drop" operations within a single application's windows, the development of software products using a JAVA interface will be compromised. In other cases, a user interface may simply not be implemented using JAVA and, therefore, JAVA must be discarded as a suitable development language or framework.
When using a platform such as JAVA, containers may support the "drag and drop" operations of objects within the same container. However, in these systems, a contained object may not be dragged out of its container. As an example of an object-oriented user interface design which is limited by the restrictions described above with respect to platforms such as JAVA, consider a musical compact disc (CD) object which is designed to contain a book that can be taken out of the opened CD case. In a development system such as JAVA, this action is prevented by the inability to drag an object out of its container.
Therefore, a need exists for a method and data processing system for performing "drag and drop" operations of compound objects where such support does not otherwise exist to effectively allow object-oriented user interface design to be developed within system platforms which do not support compound objects or nested containment.